package com.dc.commons.query;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.AbstractQuery;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;

/*******************************************************************************<P>
 * 文件名: Expressioner.java <br>
 * 版本: 1.0<br>
 * 描述:<br>
 * 版权所有: <br>
 * <P>
 * 创建者: 王建栋 <br>
 * 创建日期: 2016年5月31日 下午3:48:24<br>
 * 修改者: <br>
 * 修改日期: <br>
 * 修改说明: <br>
 ******************************************************************************/
public interface Expressioner {

	/**
	 * 组装查询信息
	 * @param root
	 * @param query
	 * @param builder
	 * @param expression
	 * @param searchFilter
	 * @return expression
	 */
	public Predicate expression(Root<?> root,AbstractQuery<?> query,CriteriaBuilder builder,Expression<?> expression,SearchFilter searchFilter);
}
